﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Wallpaper.Models.DTOs.Requests.Menu;
using Wallpaper.Models.DTOs.Responses;
using Wallpaper.Models.Entities;
using Wallpaper.Models.Options;

namespace Wallpaper.Services.IService
{
    public interface IMenuService
    {

        /// <summary>
        /// 
        /// </summary>
        /// <param name="adimnId"></param>
        /// <returns></returns>
        Task<List<MenuSidebarResponse>> GetMenuSidebarInfoAsync(string adimnId);


        /// <summary>
        /// 重载
        /// </summary>
        /// <param name="adimnId"></param>
        /// <returns></returns>
        Task<List<MenuSidebarResponse>> GetMenuSidebarInfoAsync();

        /// <summary>
        /// 创建菜单
        /// </summary>
        /// <param name="menu"></param>
        /// <returns></returns>
        Task<bool> CreateAsync(MenuRequest menu);


        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="id"></param>
        /// <param name="menu"></param>
        /// <returns></returns>
        Task<bool> UpdateAsync(string id, MenuRequest menu);




        /// <summary>
        /// 获取菜单集合
        /// </summary>
        /// <returns></returns>
       Task<List<OptionsResponse>> GetMenuOptionsAsync();


        /// <summary>
        /// 获取全部菜单
        /// </summary>
        /// <returns></returns>
       Task<List<MenuOptions>> GetAllMenusAsync();


    
    }
}
